package org.urbansoft.icl;

import java.util.ArrayList;

import org.apache.log4j.Logger;

import org.urbansoft.icl.record.CheckDetailAddendumARecord;
import org.urbansoft.icl.record.CheckDetailAddendumCRecord;
import org.urbansoft.icl.record.CheckDetailRecord;

/**
 * The Class ICLItem.
 */
public class ICLItem implements Item {
	private CheckDetailRecord checkDetail;
	private ArrayList<CheckDetailAddendumARecord> checkDetailAddendumAList;
	private ArrayList<CheckDetailAddendumCRecord> checkDetailAddendumCList;
	private ArrayList<ImageView> imageViewList;
	// TODO add other records
	/*
	 * private CheckDetailAddendumBRecord checkDetailAddendumB; private
	 * ArrayList<CheckDetailAddendumC> checkDetailAddendumCList;
	 */

	private static Logger log = Logger.getLogger(ICLItem.class);

	/**
	 * Instantiates a new iCL item.
	 */
	public ICLItem() {
		checkDetailAddendumAList = new ArrayList<CheckDetailAddendumARecord>();
		checkDetailAddendumCList = new ArrayList<CheckDetailAddendumCRecord>();
	}

	/**
	 * Instantiates a new iCL item.
	 * 
	 * @param checkDetail
	 *            the check detail
	 * @param checkDetailAddendumAList
	 *            the check detail addendum a list
	 * @param imageViewList
	 *            the image view list
	 */
	public ICLItem(CheckDetailRecord checkDetail,
			ArrayList<CheckDetailAddendumARecord> checkDetailAddendumAList,
			ArrayList<ImageView> imageViewList) {
		super();
		this.checkDetail = checkDetail;
		this.checkDetailAddendumAList = checkDetailAddendumAList;
		this.imageViewList = imageViewList;
		this.checkDetailAddendumCList = new ArrayList<CheckDetailAddendumCRecord>();
	}

	/**
	 * Gets the check detail.
	 * 
	 * @return the check detail
	 */
	public CheckDetailRecord getCheckDetail() {
		return checkDetail;
	}

	/**
	 * Sets the check detail.
	 * 
	 * @param checkDetail
	 *            the new check detail
	 */
	public void setCheckDetail(CheckDetailRecord checkDetail) {
		this.checkDetail = checkDetail;
	}

	/**
	 * Gets the check detail addendum a list.
	 * 
	 * @return the check detail addendum a list
	 */
	public ArrayList<CheckDetailAddendumARecord> getCheckDetailAddendumAList() {
		return checkDetailAddendumAList;
	}

	/**
	 * Sets the check detail addendum a list.
	 * 
	 * @param checkDetailAddendumAList
	 *            the new check detail addendum a list
	 */
	public void setCheckDetailAddendumAList(
			ArrayList<CheckDetailAddendumARecord> checkDetailAddendumAList) {
		this.checkDetailAddendumAList = checkDetailAddendumAList;
	}

	/**
	 * Gets the image view list.
	 * 
	 * @return the image view list
	 */
	public ArrayList<ImageView> getImageViewList() {
		return imageViewList;
	}

	/**
	 * Sets the image view list.
	 * 
	 * @param imageViewList
	 *            the new image view list
	 */
	public void setImageViewList(ArrayList<ImageView> imageViewList) {
		this.imageViewList = imageViewList;
	}

	public ArrayList<CheckDetailAddendumCRecord> getCheckDetailAddendumCList() {
		return checkDetailAddendumCList;
	}

	public void setCheckDetailAddendumCList(
			ArrayList<CheckDetailAddendumCRecord> checkDetailAddendumCList) {
		this.checkDetailAddendumCList = checkDetailAddendumCList;
	}

}
